77 research outputs found
The Algebraic Intersection Type Unification Problem
The algebraic intersection type unification problem is an important component
in proof search related to several natural decision problems in intersection
type systems. It is unknown and remains open whether the algebraic intersection
type unification problem is decidable. We give the first nontrivial lower bound
for the problem by showing (our main result) that it is exponential time hard.
Furthermore, we show that this holds even under rank 1 solutions (substitutions
whose codomains are restricted to contain rank 1 types). In addition, we
provide a fixed-parameter intractability result for intersection type matching
(one-sided unification), which is known to be NP-complete.
We place the algebraic intersection type unification problem in the context
of unification theory. The equational theory of intersection types can be
presented as an algebraic theory with an ACI (associative, commutative, and
idempotent) operator (intersection type) combined with distributivity
properties with respect to a second operator (function type). Although the
problem is algebraically natural and interesting, it appears to occupy a
hitherto unstudied place in the theory of unification, and our investigation of
the problem suggests that new methods are required to understand the problem.
Thus, for the lower bound proof, we were not able to reduce from known results
in ACI-unification theory and use game-theoretic methods for two-player tiling
games
The Complexity of Principal Inhabitation
It is shown that in the simply typed lambda-calculus the following decision problem of principal inhabitation is Pspace-complete: Given a simple type tau, is there a lambda-term N in beta-normal form such that tau is the principal type of N?
While a Ben-Yelles style algorithm was presented by Broda and Damas in 1999 to count normal principal inhabitants (thereby answering a question posed by Hindley), it does not induce a polynomial space upper bound for principal inhabitation. Further, the standard construction of the polynomial space lower bound for simple type inhabitation does not carry over immediately.
We present a polynomial space bounded decision procedure based on a characterization of principal inhabitation using path derivation systems over subformulae of the input type, which does not require candidate inhabitants to be constructed explicitly. The lower bound is shown by reducing a restriction of simple type inhabitation to principal inhabitation
CLS-CAD: Synthesizing CAD Assemblies in Fusion 360
The CAD design process includes a number of repetitive steps when creating
assemblies. This issue is compounded when engineering whole product lines or
design families, as steps like inserting parts common to all variations, such
as fasteners and product-integral base parts, get repeated numerous times. This
makes creating designs time-, and as a result, cost-intensive. While many CAD
software packages have APIs, the effort of creating use-case specific plugins
to automate creation of assemblies usually outweighs the benefit.
We developed a plugin for the CAD software package "Fusion 360" which tackles
this issue. The plugin adds several graphical interfaces to Fusion 360 that
allow parts to be annotated with types, subtype hierarchies to be managed, and
requests to synthesize assembly programs for assemblies to be posed. The plugin
is use-case agnostic and is able to generate arbitrary open kinematic chain
structures. We envision engineers working with CAD software being able to make
designed parts reusable and automate the generation of different design
alternatives as well as whole product lines
Lower End of the Linial-Post Spectrum
We show that recognizing axiomatizations of the Hilbert-style calculus containing only the axiom a -> (b -> a) is undecidable (a reduction from the Post correspondence problem is formalized in the Lean theorem prover). Interestingly, the problem remains undecidable considering only axioms which, when seen as simple types, are principal for some lambda-terms in beta-normal form. This problem is closely related to type-based composition synthesis, i.e. finding a composition of given building blocks (typed terms) satisfying a desired specification (goal type).
Contrary to the above result, axiomatizations of the Hilbert-style calculus containing only the axiom a -> (b -> b) are recognizable in linear time
Using Inhabitation in Bounded Combinatory Logic with Intersection Types for Composition Synthesis
We describe ongoing work on a framework for automatic composition synthesis
from a repository of software components. This work is based on combinatory
logic with intersection types. The idea is that components are modeled as typed
combinators, and an algorithm for inhabitation {\textemdash} is there a
combinatory term e with type tau relative to an environment Gamma?
{\textemdash} can be used to synthesize compositions. Here, Gamma represents
the repository in the form of typed combinators, tau specifies the synthesis
goal, and e is the synthesized program. We illustrate our approach by examples,
including an application to synthesis from GUI-components.Comment: In Proceedings ITRS 2012, arXiv:1307.784
The Intersection Type Unification Problem
The intersection type unification problem is an important component in
proof search related to several natural decision problems in
intersection type systems. It is unknown and remains open whether the
unification problem is decidable. We give the first nontrivial lower
bound for the problem by showing (our main result) that it is
exponential time hard. Furthermore, we show that this holds even under
rank 1 solutions (substitutions whose codomains are restricted to
contain rank 1 types). In addition, we provide a fixed-parameter
intractability result for intersection type matching (one-sided
unification), which is known to be NP-complete.
We place the intersection type unification problem in the context of
unification theory. The equational theory of intersection types can
be presented as an algebraic theory with an ACI (associative,
commutative, and idempotent) operator (intersection type) combined
with distributivity properties with respect to a second operator
(function type). Although the problem is algebraically natural and
interesting, it appears to occupy a hitherto unstudied place in the
theory of unification, and our investigation of the problem suggests
that new methods are required to understand the problem. Thus, for the
lower bound proof, we were not able to reduce from known results in
ACI-unification theory and use game-theoretic methods for two-player
tiling games
Bounded Combinatory Logic
In combinatory logic one usually assumes a fixed set of basic combinators (axiom schemes), usually K and S. In this setting the set of provable formulas (inhabited types) is PSPACE-complete in simple types and undecidable in intersection types. When arbitrary sets of axiom schemes are considered, the inhabitation problem is undecidable even in simple types (this is known as Linial-Post theorem).
k-bounded combinatory logic with intersection types arises from combinatory logic by imposing the bound k on the depth of types (formulae) which may be substituted for type variables in axiom schemes. We consider the inhabitation (provability) problem for k-bounded combinatory logic: Given an arbitrary set of typed combinators and a type tau, is there a combinatory term of type tau in k-bounded combinatory logic?
Our main result is that the problem is (k+2)-EXPTIME complete for k-bounded combinatory logic with intersection types, for every fixed k
(and hence non-elementary when k is a parameter). We also show that the problem is EXPTIME-complete for simple types, for all k.
Theoretically, our results give new insight into the expressive power of intersection types. From an application perspective, our results are useful as a foundation for composition synthesis based on combinatory logic
Automatic Building of a Repository for Component-based Synthesis of Warehouse Simulation Models
Simulations are a common tool in the warehouse planning and adoption process for evaluating and comparing variants of a storage system. But simulation modeling is a complex and time-consuming task. Due to limited resources, often not all possible system variants can be modeled. A promising solution is the migration of an existing simulation model to enable component-based software synthesis. An inhabitation algorithm composes structural variants according to a synthesis goal given a repository of typed components. In this paper, we automatically generate a repository and synthesize simulation model variants using a block stacking warehouse simulation model as an example
A knowledge-driven framework for synthesizing designs from modular components
Creating a design from modular components necessitates three steps: Acquiring
knowledge about available components, conceiving an abstract design concept,
and implementing that concept in a concrete design. The third step entails many
repetitive and menial tasks, such as inserting parts and creating joints
between them. Especially when comparing and implementing design alternatives,
this issue is compounded. We propose a use-case agnostic knowledge-driven
framework to automate the implementation step. In particular, the framework
catalogues the acquired knowledge and the design concept, as well as utilizes
Combinatory Logic Synthesis to synthesize concrete design alternatives. This
minimizes the effort required to create designs, allowing the design space to
be thoroughly explored. We implemented the framework as a plugin for the CAD
software Autodesk Fusion 360. We conducted a case study in which robotic arms
were synthesized from a set of 28 modular components. Based on the case study,
the applicability of the framework is analyzed and discussed
- …